Apparatus, method and program for measuring surface texture

ABSTRACT

An apparatus for measuring surface texture causes a probe to trace a surface of a workpiece to detect contact between a tip provided on the tip of the probe and the surface of the workpiece and measures surface texture of the workpiece. The apparatus for measuring surface texture includes: a path division unit dividing a path along which the tip is moved into a plurality of sections between the starting point and the ending point of the path; a moving velocity calculation unit calculating a moving velocity of the tip in sequence from the starting point to the ending point for each of the plurality of sections, based on the path information for each of the plurality of sections; and a stylus movement control unit moving the tip in a section for which a moving velocity has been calculated at the moving velocity calculation unit.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority fromthe prior Japanese Patent Application No. 2007-081396, filed on Mar. 27,2007, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an apparatus for measuring surfacetexture, such as a Coordinate Measuring Machine for measuringdisplacement with a tip, as well as a method and program for measuringsurface texture.

2. Description of the Related Art

Conventionally, apparatuses for measuring surface texture are known tobe arranged to scan a tip on a surface of a workpiece to measure surfacetexture of the workpiece based on contact of the tip with the surface ofthe workpiece (see, for example, Japanese Patent Laid-Open No.8-178646). The apparatuses for measuring surface texture include, forexample, a Coordinate Measuring Machine and a two-dimensional measuringinstrument.

Generally, conventional apparatuses for measuring surface textureperform, so-called, “scanning measurement” where a path to be scanned isdetermined in advance for measurement. For example, such paths used inthe scanning measurement include those figures including a singlestraight line, circle, circular arc, or continuous lines and circulararcs. Besides, the scanning measurement may be performed to any circlesor circular arcs mentioned above as long as the workpiece may beapproximated in a circular manner within a range where the tip can bedisplaced, even if they are not completely round in shape.

However, when the above-mentioned line and circle are used in thescanning measurement, such schemes are employed in determination ofscanning velocity of the tip beginning at the end of a path for scanningto trace the path, provided that the scheme stops at the end of thepath. This means that it is necessary to process information for allpaths at a time. Therefore, it is not possible to initiate measurementduring the process, which could take a large amount of time formeasurement.

The present invention has been made in view of the above problems. Anobject of the invention is to provide an apparatus, method and programfor measuring surface texture that may achieve faster measurement.

SUMMARY OF THE INVENTION

The present invention provides an apparatus for measuring surfacetexture operative to cause a probe to trace a surface of a workpiece todetect contact between a tip of the probe and the surface of theworkpiece and measure surface texture of the workpiece, the apparatuscomprising: a path division unit dividing a path along which the tip ismoved into a plurality of sections between the starting point and theending point of the path; a moving velocity calculation unit calculatinga moving velocity of the tip in sequence from the starting point to theending point for each of the plurality of sections, based on the pathinformation for each of the plurality of sections; and a tip movementcontrol unit moving the tip in a section for which a moving velocity hasbeen calculated at the moving velocity calculation unit.

In addition, a part or whole of the path may be configured withfree-form curves.

The moving velocity calculation unit may be configured to determine,before the tip completes its movement in a first section of the sectionswhere the tip is being moved, whether calculation of a moving velocityshall he finished for a second section subsequent to the first section,wherein, when it is determined that the calculation shall be finished intime, then a moving velocity at the starting point of the second sectionis calculated to be equal to a moving velocity at the ending point ofthe first section, whereas when it is determined that the calculationshall not be finished in time, then a moving velocity at the endingpoint of the first section is modified to 0 and a moving velocity at thestarting point of the second section is calculated as 0.

The moving velocity calculation unit may be configured to capture allinformation on groups of sections with the plurality of sections as aunit to calculate a moving velocity.

The moving velocity calculation unit may be configured to determine,before the tip moves to the last section included in a first group ofsections where the tip is being moved, the first group of sections beingamong the groups of sections, whether calculation of a moving velocityshall be finished for a second group of sections preceding the firstgroup of sections, and wherein, when it is determined that thecalculation shall be finished in time, then a moving velocity at thestarting point of the initial section in the second group of sections iscalculated to be equal to a moving velocity at the ending point of thelast section of the first group of sections, whereas when it isdetermined that the calculation shall not be finished in time, then amoving velocity of the last section of the first group of sections ismodified so that a moving velocity at the ending point of the firstgroup of sections becomes 0 and a moving velocity at the starting pointof the second group of sections is calculated as 0.

The moving velocity calculation unit may be configured to calculate amoving velocity based on a curvature of the path information.

In addition, the present invention provides a method for measuringsurface texture, using a computer, for causing a probe to trace asurface of a workpiece to detect contact between a tip provided on thetip of the probe and the surface of the workpiece and measuring surfacetexture of the workpiece, the method comprising: dividing a path alongwhich the tip is moved into a plurality of sections between the startingpoint and the ending point of the path; calculating a moving velocity ofthe tip in sequence from the starting point to the ending point for eachof the plurality of sections, based on the path information for each ofthe plurality of sections; and moving the tip in a section for which amoving velocity has been calculated at the step of calculating a movingvelocity.

Further, the present invention provides a program for measuring surfacetexture to causing a probe to trace a surface of a workpiece to detectcontact between a provided on the tip of the probe and the surface ofthe workpiece and measuring surface texture of the workpiece, theprogram causing a computer to perform the following steps of; dividing apath along which the tip is moved into a plurality of sections betweenthe starting point and the ending point of the path; calculating amoving velocity of the tip in sequence from the starting point to theending point for each of the plurality of sections, based on the pathinformation for each of the plurality of sections; and moving the tip ina section for which a moving velocity has been calculated at the step ofcalculating a moving velocity.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an external perspective view illustrating a configuration ofan apparatus for measuring surface texture according to one embodimentof the present invention;

FIG. 2 is a functional block diagram of a Coordinate Measuring Machine 1and a computer 2 of the same apparatus;

FIG. 3 is a flowchart illustrating a data control operation at a datacontrol unit 59;

FIG. 4 is a diagram illustrating a converting operation from a NURBScurve to a PCC curve at a path-information conversion unit 51 a;

FIG. 5 is a conceptual diagram illustrating a group of PCC curves;

FIG. 6 is a diagram illustrating a group of PCC curves and a velocitycurve;

FIG. 7 is a flowchart of an operation for determining a moving velocityof a tip at a controller 41;

FIG. 8A is a diagram illustrating an exemplary velocity pattern;

FIG. 8B is a diagram illustrating an exemplary velocity pattern;

FIG. 8C is a diagram illustrating an exemplary velocity pattern;

FIG. 8D is a diagram illustrating an exemplary velocity pattern;

FIG. 8E is a diagram illustrating an exemplary velocity pattern;

FIG. 8F is a diagram illustrating an exemplary velocity pattern;

FIG. 8G is a diagram illustrating an exemplary velocity pattern;

FIG. 8H is a diagram illustrating an exemplary velocity pattern; and

FIG. 8I is a diagram illustrating an exemplary velocity pattern.

DETAILED DESCRIPTION OF THE EMBODIMENTS

One embodiment of the present invention will now be described belowbased on the accompanying drawings.

FIG. 1 is a perspective view illustrating a schematic configuration ofan apparatus for measuring surface texture according to one embodimentof the present invention. The apparatus for measuring surface texturecomprises a Coordinate Measuring Machine 1 and a computer 2. Thecomputer 2 captures a necessary measurement value by driving andcontrolling the Coordinate Measuring Machine 1 and executes necessaryarithmetic operations for geometric modeling.

The Coordinate Measuring Machine 1 is configured as illustrated in,e.g., FIG. 1. A surface plate 11 is mounted to be coincident with ahorizontal plane on a vibration isolating stand 10 with the uppersurface of the vibration isolating stand 10 as its base surface. Thesurface plate 11 has beam support members 12 a and 12 b provided tostand upright on opposite sides thereof. The upper ends of the beamsupport members 12 a and 12 b support a beam 13 that extends in thex-axis direction. The beam support member 12 a has its lower end drivenin the y-axis direction by a y-axis driving mechanism 14. In addition,the beam support member 12 b has its lower end supported on the surfaceplate 11 by an air bearing so as to be movable in the y-axis direction,The beam 13 supports a column 15 that extends in the vertical direction(z-axis direction). The column 15 is driven in the x-axis directionalong the beam 13. The column 15 is provided with a spindle 16 that isdriven in the z-axis direction along the column 15. Attached to thelower end of the spindle 16 is a touch probe 17. In addition, a tip 17 aof any shape, e.g., sphere shape, is formed provided on the tip of theprobe 17. A contact signal is output when the tip 17 a contacts a workpiece surface 31 a of a work piece 31 mounted on the surface plate 11.The computer 2 captures current XYZ coordinates of the referenceposition of the tip 17 a.

The computer 2 comprises a computer body 21, a keyboard 22, a mouse 23,a CRT 24, and a printer 25.

FIG. 2 is a block diagram of the entire apparatus, illustrating eachconfiguration of a Coordinate Measuring Machine 1 and a computer 2.

As illustrated in FIG. 2, the Coordinate Measuring Machine 1 comprises acontroller 41, a probe 17, a XYZ-axis driving unit 42 for driving theprobe 17, a XYZ-axis encoder 43 for detecting signals based on contactof the tip 17 a provided on the tip of the probe 17, and an A/Dconverter 44. Contact signals based on contact of the tip 17 a with thework piece 31 are provided via the A/D converter 44 to the computer body21 and temporarily stored in a memory 52.

The controller 41 includes a CPU (Central Processing Unit) 41 a forcontrolling the XYZ-axis driving unit 42 and a program storage unit 41b. The program storage unit 41 b, which is, e.g., a HDD (Hard DiskDrive), has functionality for storing program used in three-dimensionalmeasurement. The CPU 41 a reads program from the program storage unit 41b to control the XYZ-axis driving unit 42. The CPU 41 a executes theread program and serves as a moving velocity calculation unit 41 aa anda stylus movement control unit 41 ab.

The moving velocity calculation unit 41 aa has functionality forcalculating a moving velocity of the tip 17 a in sequence, beginning atthe starting point for each of a plurality of sections, based on thepath information received from the computer 2 (e.g., a group of dividedPCC curves described below). The stylus movement control unit 41 ab hasfunctionality for moving the tip 17 a at a calculated moving velocity ina section for which the corresponding moving velocity has already beencalculated at the moving velocity calculation unit 41 aa.

The computer body 21 includes a CPU 51 that has a primary role incontrol, the memory 52 connected to the CPU 51, a program storage unit53, a work memory 54, a display control unit 55 for displaying measureddata, execution part program to be executed, etc., to the CRT 24, andinterfaces (I/F) 56 through 58.

The CPU 51 receives information of operator's instruction (inputinformation) via the interface 56 that is input from the keyboard 22 andthe mouse 23. In addition, the CPU 51 receives XYZ coordinates (inputinformation) via the memory 52 that are detected at the XYZ-axis encoder43 and converted to digital data at the A/D converter 44. Based on theinput information, operator's instruction and program stored in theprogram storage unit 53, the CPU 51 performs operations, such as movingthe stage with the XYZ-axis driving unit 42, analyzing measured valuesof the work piece 31, and so on.

In addition, the CPU 51 serves as either a path-information conversionunit 51 a, a path-information division unit 51 b, or a path-informationoutput unit 51 c depending on the read program.

The path-information conversion unit 51 a has functionality forconverting design values for the work piece 31 (NURBS (Non-UniformRational B-Spline) data) that are received from an external CAD system(not illustrated) via the interface 58 to path information such as agroup of PCC (Parametric Cubic Curves) curves. The path-informationdivision unit 51 b has functionality for generating a group of dividedPCC curves where a group of PCC curves is divided into a plurality ofsections. The path-information output unit 51 c has functionality foroutputting a group of divided PCC curves to the controller 41.

The “program” stored in the program storage unit 53 refers to partprogram by which path information corresponding to the measured path ofthe work piece 31 is programmed, as well as other program thatimplements the path-information conversion unit 5la, thepath-information division unit 51 b, and the path-information outputunit 51 c etc.

The above-mentioned CPU 51 and program storage unit 53 together servesas a data control unit 59 for outputting the divided path informationthat is generated by dividing the path information based on data of thedesign values into a plurality of sections to the controller 41.

The work memory 54 provides a work area used by the CPU 51 to performvarious operations. The printer 25 is provided to print out the resultsof measurement performed by the Coordinate Measuring Machine 1 via theinterface 57.

Referring now to a flowchart of FIG. 3, a data control operation at thedata control unit 59 will be described below.

Firstly, the path-information conversion unit 51 a receives data, suchas NURBS data in which corresponding path information is written, fromthe external CAD system (not illustrated) (step S101). Secondly, thepath-information conversion unit 51 a converts the received NURBS datato a group of PCC curves (step S102).

Conversion to a group of PCC curves will be generally described belowwith reference to FIGS. 4 and 5. As illustrated in FIG. 4, the shape ofthe work piece 31 may be represented by a NURBS curve line and a NURBScurved surface based on NURBS data having coordinates and parameters ofthe control point. Further, as even straight lines or planes can berepresented by such NURBS data, the entire shape of the work piece 31may be generally represented by the NURBS data. Therefore, the pathinformation related to the movement of the tip 17 a, including curvedlines, circular arcs and straight lines, may be generally represented byNURBS data, based on which a PCC curve can be generated. A group of PCCcurves for path information corresponds to a NURBS curve with offset inits normal direction. Wherein, the amount of offset is the radius of thetip 17 a. The CPU41 controls the tip 17 a in such a way that the centerof the spherical tip 17 a passes on the group of PCC curves.

As illustrated in FIG. 5, a group of PCC curves corresponds to arespective segment of curve L that is divided by a plurality of pointsP. Each segment forms one PCC curve and a set of these segments (PCCcurves) forms a group of PCC curves. In addition, a group of PCC curvesis divided into multiple sets of PCC curves, which is called a “group ofdivided PCC curves”. The group of PCC curves includes a plurality of PCCcurves. With respect to the group of PCC curves, the ending point of theprevious segment (PCC curve) corresponds to the starting point of thenext segment (PCC curve). In this case, let (K_(X0), K_(Y0), K₂₀) be thecoordinates of the starting point of any one of the PCC curves and let Dbe the length of a line between the starting point and the ending pointof that PCC curve. Defined in this way, coordinates {X(S) , Y(S) , Z(S)}of any point in the PCC curve are represented by the following formula(1):

X(S)=K _(X3) *S ³ +K _(X2) *S ² +K _(X1) *S+K _(X0)

X(S)=K _(Y3) *S ³ +K _(Y2) *S ² +K _(Y1) *S+K _(Y0)

X(S)=K _(Z3) *S ³ +K _(Z2) *S ² +K _(Z1) *S+K _(Z0)   Formula (1)

Wherein, S{0, D} and K_(X3-X1), K_(y3-y1), K_(Z3-Z1) are constants.

At step S102, each PCC curve is generated in such a way that arepresentative curvature thereof will be substantially uniform. That is,as principle conditions, those portions with almost straight-line shapeare assigned with a single PCC curve as much as possible and circulararc portions with a small curvature are also assigned with a single PCCcurve as much as possible. The group of PCC curves generated under theseconditions is as illustrated in FIG. 6. FIG. 6 illustrates acorrespondence between a group of PCC curves and a velocity curvedescribed below. FIG. 6 also illustrates the group of PCC curves withthe starting point and the ending point specified therein. Eachreference numeral [1]- [13] denotes one PCC curve of the group of PCCcurves. Each reference numeral <1>-<13> denotes one velocity curvecalculated for each PCC curve [1]-[13].

Referring again to FIG. 3, a data control operation at the data controlunit 59 will be described below. The path-information conversion unit 51a converts NURBS data to a group of PCC curves that corresponds to a setof PCC curves (step S102), and the path-information division unit 51 bdivides the group of PCC curves to generate each group of divided PCCcurves (1)-(M) (step S103). Each group of divided PCC curves (i) (i=1 toM) corresponds to multiple (M) groups of PCC curves resulting fromdivision of a group of PCC curves in view of a buffer capacity Rdescribed below, and includes a plurality of PCC curves.

Then, the path-information output unit 51 c initializes the setting sothat the first group of divided PCC curves (1) can be selected (stepS104). Subsequently, the path-information output unit 51 c outputs ameasurement initiation signal for initiating measurement and an integerM (the total number of groups of divided PCC curves) to the controller41 (step S105).

Then, the path-information output unit 51 c outputs the set group ofdivided PCC curves (i) to the controller 41 (step S106). Subsequently,the path-information output unit 51 c determines whether i=M (stepS107). At this moment, if it is determined that i≠M (“N” branch at stepS107), then the path-information output unit 51 c adds 1 to i (i=i+1)(step S108) and again carries out the operation of step S106.Alternatively, if it is determined that i=M (“Y” branch at step S107),then the path-information output unit 51 c terminates the aboveoperation.

The following description is made in detail with regard to an operationfor dividing the above-mentioned group of PCC curves to generate eachgroup of divided PCC curves (1)-(M) (step S103). In the operation fordividing the group of PCC curves (step S103), let E be the data capacityof entire PCC curves (the group of PCC curves) and let R be the buffercapacity for receiving commands of the controller 41, then thepath-information division unit 51 b calculates E/R (decimals rounded upto the nearest integer). For example, in the case of FIG. 6, a group ofPCC curves includes thirteen PCC curves [1]-[13], E=13. In this case, ifR=5, then M=3. Thus, the path-information division unit 51 b divides agroup of PCC curves in such a way that the group of PCC curves includesas equal number of PCC curves as possible, and it generates M groups ofdivided PCC curves (i) (i=1 to M). In the case of FIG. 6, a group of PCCcurves is divided into the following three groups of divided PCC curves(1)-(3):

the group of divided PCC curves (1)=PCC curve [1]+PCC curve [2]=PCCcurve [3]+PCC curve [4]+PCC curve [5]

the group of divided PCC curves (2)=PCC curve [6]+PCC curve [7]+PCCcurve [8]+PCC curve [9]

the group of divided PCC curves (3)=PCC curve [10]+PCC curve [11]+PCCcurve [12]+PCC curve [13]

Besides, the path-information division unit 51 b sets the total numberof PCC curves included in the first group of divided PCC curves (1) tobe larger than those in the other groups of divided PCC curves (2) and(3).

Referring now to FIG. 7, an operation for determining a moving velocityof the tip 17 a at the controller 41 is illustrated.

Firstly, the moving velocity calculation unit 41 aa sets “i=1” as aninitial setting (step S201). Secondly, the moving velocity calculationunit 41 aa receives a group of divided PCC curves (i) from the datacontrol unit 59 (the path-information output unit 51 c) (step S202).Subsequently, the moving velocity calculation unit 41 aa calculates avelocity curve of the group of divided PCC curves (i) (step S203).

Then, the stylus movement control unit 41 ab moves the tip 17 a on thegroup of divided PCC curves (i) along the calculated velocity curve(step S204).

Then, the moving velocity calculation unit 41 aa determines whether i=M(step S205). At this moment, if it is determined that i=M (“Y” branch atstep S205), then the moving velocity calculation unit 41 aa terminatesthe operation for determining a moving velocity.

Alternatively, if it is determined that i≠M (“N” branch at step S205),then the moving velocity calculation unit 41 aa adds 1 to i (i=i+1),turns to a state where it can receive the next group of divided PCCcurves (i) (step S206), and receives the group of divided PCC curves (i)(step S207). For example, it receives the group of divided PCC curves(2) when the tip 17 a is moved along the group of divided PCC curves(1).

Then, the moving velocity calculation unit 41 aa determines (step S208)whether the following time of day exceeds a predetermined threshold timeof day T_(th)(t+T<T_(th)): a time of day “t” when the group of dividedPCC curves (i) is received while the tip 17 a is moved along the groupof divided PCC curves (i−1) plus a time “T” necessary for calculation ofa velocity curve of the group of divided PCC curves (i). This means thatthe moving velocity calculation unit 41 aa determines at step S208whether calculation of a moving velocity shall be finished for the groupof divided PCC curves (i) subsequent to the group of divided PCC curves(i−1) before the tip 17 a completes its movement along the group ofdivided PCC curves (i−1).

In this case, if it is determined that the calculation of the movingvelocity for the group of divided PCC curves (i) shall be finishedbefore the tip 17 a completes its movement along the group of dividedPCC curves (i−1) (“Y” branch at step S208), then the moving velocitycalculation unit 41 aa calculates the velocity curve of the group ofdivided PCC curves (i) (step S209). In this case, the velocity curve iscalculated at step S209 in such a way that the velocity at the endingpoint of the group of divided PCC curves (i−1) is equal to the velocityat the starting point of the group of divided PCC curves (i). This meansthat the velocity is kept constant, and the operation proceeds to thenext measurement.

Alternatively, if it is determined that the calculation of the movingvelocity for the group of divided PCC curves (i) shall be not finishedbefore the tip 17 a completes its movement along the group of dividedPCC curves (i−1) (“N” branch at step S208), then the moving velocitycalculation unit 41 aa modifies the velocity curve being measured forthe group of divided PCC curves (i−1) in such a way that the velocity atthe ending point of the group of divided PCC curves (i−1) becomes “0”(step S210). Thus, the moving velocity calculation unit 41 aa calculatesa velocity curve in such a way that the velocity at the starting pointof the group of divided PCC curves (i) becomes “0” (step S211).

Then, when the operation of step S209 or step S211 is completed, thestylus movement control unit 41 ab again carries out the operation ofstep S204.

Referring now to FIG. 6 and FIGS. 8A through 8I, the above-mentionedoperation for calculating the velocity curve (step S203, S209, S211)will be specifically described below.

In FIG. 6, below the PCC curves [1]-[13], those velocity curves <1>-<13>(vertical axis: velocity/horizontal axis: time) are illustrated that arecalculated based on these PCC curves [1]-[13]. Each of the velocitycurves <1>-<13> is stored in the program storage unit 41 b. Each of thevelocity curves <1>-<13> is calculated based on velocity patterns asillustrated in FIGS. 8A through 8I. In each of FIGS. 8A through FIG. 8I,the vertical axis indicates velocity (V), while the horizontal axisindicates time (t). As illustrated in FIGS. 8A through 8I, a velocitypattern for increasing-velocity, a velocity pattern for conservingvelocity, and a velocity pattern for reducing velocity, as well as acombined velocity pattern of these are stored in the program storageunit 41 b, respectively.

For example, before determining a velocity curve, the moving velocitycalculation unit 41 aa receives user inputs from the keyboard 22, etc.,based on which it determines the maximum velocity. Then, the movingvelocity calculation unit 41 aa determines a velocity curve based on,e.g., the curvature of the PCC curves, so that the velocity curvebecomes as close to the preset maximum velocity as possible. Besides,the moving velocity calculation unit 41 aa calculates a velocity curveso that a continuous velocity may be obtained between the adjacent PCCcurves.

In addition, if it is determined that the curvature of a curve is lessthan a predetermined value, then it is considered a straight line by themoving velocity calculation unfit 41 aa.

Alternatively, if it is determined that the curvature is greater thanthe predetermined value, then the moving velocity calculation unit 41 aaprovides a maximum velocity in view of the machine's tolerance toacceleration and orbit errors.

Referring now to FIG. 6, the determination operations for the velocitycurves (steps S208-S211) will be specifically described below based onthe time when a group of divided PCC curves (i) is received. Asillustrated in FIG. 6, with respect to the group of divided PCC curves(1), it is assumed that the threshold time of day T_(th) used in thedetermination of step S207 is a time of day when the measurement isinitiated for the last PCC curve [5] included in the group of dividedPCC curves (1). It is also assumed that the time T for calculating avelocity curve of the group of divided PCC curves (2) is substantiallyequal to the measurement time for the PCC curve [4].

In this case, if the group of divided PCC curves (2) is received at atime of day t1 when the PCC curve [3] is measured, then a time of daywhen the calculation of the velocity curve is completed for the group ofdivided PCC curves (2) is equal to a time of day, t1+T (t1+T<T_(th)).This means that the calculation of the velocity curve shall be finishedfor the group of divided PCC curves (2) before the threshold time of dayT_(th). Consequently, measurement is performed based on thepredetermined velocity curve using a velocity curve on the continuousline illustrated in FIG. 6 (labeled A), so that continuity of velocitycan be satisfied on the next group of divided PCC curves (2).

On the other hand, if the group of divided PCC curves (2) is received ata time of day t2 when the PCC curve [4] is measured, then a time of daywhen the calculation of the velocity curve is completed for the group ofdivided PCC curves (2) is a time of day, t2+T (t2+T≧T_(th)). This meansthat the calculation of the velocity curve shall not be finished in timefor the group of divided PCC curves (2) before the threshold time of dayT_(th). Consequently, measurement is performed with the velocity curve(labeled A) modified accordingly that has already been determined at thelast PCC curve [5] included in the group of divided PCC curves (1), sothat the velocity at the ending point of the group of divided PCC curves(1) becomes “0”. Besides, the modified velocity curve is illustrated asdashed-two dotted line (labeled B) in FIG. 6. Further, in this case, thestarting point moving velocity of the first PCC curve [6] included inthe group of divided PCC curves (2) becomes “0”.

As described above, in one embodiment of the present invention, a groupof PCC curves is divided to generate a group of divided PCC curves.Then, measurement is performed for each group of divided PCC curves forwhich the velocity curve has been calculated. This means that themeasurement and the calculation of velocity curves may be performed inparallel, thereby reducing the measurement time.

Although the present invention has been described with reference toembodiments thereof, the present invention is not limited to theembodiments illustrated and described herein. For example, in theabove-described embodiments, although the moving velocity calculationunit 41 aa is described in FIG. 6 to achieve linear acceleration anddeceleration, the velocity may be accelerated or decelerated in“S-curve” patterns with respect to the time, instead of linear patterns,in view of smoothness of acceleration or deceleration.

1. An apparatus for measuring surface texture operative to cause a probeto trace a surface of a workpiece, to detect contact between a tipprovided on the tip of the probe and the surface of the workpiece andmeasure surface texture of the workpiece, the apparatus comprising: apath division unit dividing a path along which the tip is moved into aplurality of sections between the starting point and the ending point ofthe path; a moving velocity calculation unit calculating a movingvelocity of the tip in sequence from the starting point to the endingpoint for each of the plurality of sections, based on the pathinformation for each of the plurality of sections; and a stylus movementcontrol unit moving the tip in a section for which a moving velocity hasbeen calculated at the moving velocity calculation unit.
 2. Theapparatus for measuring surface texture according to claim 1, wherein apart or whole of the path is configured with free-form curves.
 3. Theapparatus for measuring surface texture according to claim 1, whereinthe moving velocity calculation unit determines, before the tipcompletes its movement in a first section of the sections where the tipis being moved, whether calculation of a moving velocity shall befinished for a second section subsequent to the first section, andwherein, when it is determined that the calculation shall be finished intime, then a moving velocity at the starting point of the second sectionis calculated to be equal to a moving velocity at the ending point ofthe first section, whereas when it is determined that the calculationshall not be finished in time, then a moving velocity at the endingpoint of the first section is modified to 0 and a moving velocity at thestarting point of the second section is calculated as
 0. 4. Theapparatus for measuring surface texture according to claim 1, whereinthe moving velocity calculation unit captures all information on groupsof sections with the plurality of sections as a unit to calculate amoving velocity.
 5. The apparatus for measuring surface textureaccording to claim 4, wherein the moving velocity calculation unitdetermines, before the tip moves to the last section included in a firstgroup of sections where the tip is being moved, the first group ofsections being among the groups of sections, whether calculation of amoving velocity shall be finished for a second group of sectionssubsequent to the first group of sections, and wherein, when it isdetermined that the calculation shall be finished in time, then a movingvelocity at the starting point of the initial section in the secondgroup of sections is calculated to be equal to a moving velocity at theending point of the last section of the first group of sections, whereaswhen it is determined that the calculation shall not be finished intime, then a moving velocity of the last section of the first group ofsections is modified so that a moving velocity at the ending point ofthe first group of sections becomes 0 and a moving velocity at thestarting point of the second group of sections is calculated as
 0. 6.The apparatus for measuring surface texture according to claim 1,wherein the moving velocity calculation unit calculates a movingvelocity based on a curvature of the path information.
 7. A method formeasuring surface texture, using a computer, for causing a probe totrace a surface of a workpiece to detect contact between a tip providedon the tip of the probe and the surface of the workpiece and measuringsurface texture of the workpiece, the method comprising the steps of:dividing a path along which the tip is moved into a plurality ofsections between the starting point and the ending point of the path;calculating a moving velocity of the tip in sequence from the startingpoint to the ending point for each of the plurality of sections, basedon the path information for each of the plurality of sections; andmoving the tip in a section for which a moving velocity has beencalculated at the step of calculating a moving velocity.
 8. The methodfor measuring surface texture according to claim 7, wherein a part orwhole of the path is configured with free-form curves.
 9. The method formeasuring surface texture according to claim 7, wherein at the step ofcalculating a moving velocity, a determination is made as to whether,before the tip completes its movement in a first section of the sectionswhere the tip is being moved, calculation of a moving velocity shall befinished for a second section subsequent to the first section, andwherein, when it is determined that the calculation shall be finished intime, then a moving velocity at the starting point of the second sectionis calculated to be equal to a moving velocity at the ending point ofthe first section, whereas when it is determined that the calculationshall not be finished in time, then a moving velocity at the endingpoint of the first section is modified to 0 and a moving velocity at thestarting point of the second section is calculated as
 0. 10. The methodfor measuring surface texture according to claim 7, wherein at the stepof calculating a moving velocity, all information on groups of sections,with the plurality of sections as a unit, is captured to calculate amoving velocity.
 11. The method for measuring surface texture accordingto claim 10, wherein at the step of calculating a moving velocity, adetermination is made as to whether, before the tip moves to the lastsection included in a first group of sections where the tip is beingmoved, the first group of sections being among the groups of sections,calculation of a moving velocity shall be finished for a second group ofsections subsequent to the first group of sections, and wherein, when itis determined that the calculation shall be finished in time, then amoving velocity at the starting point of the initial section in thesecond group of sections is calculated to be equal to a moving velocityat the ending point of the last section of the first group of sections,whereas when it is determined that the calculation shall not be finishedin time, then a moving velocity of the last section of the first groupof sections is modified so that a moving velocity at the ending point ofthe first group of sections becomes 0 and a moving velocity at thestarting point of the second group of sections is calculated as
 0. 12.The method for measuring surface texture according to claim 7, whereinat the step of calculating a moving velocity, a moving velocity iscalculated based on a curvature of the path information.
 13. A programfor measuring surface texture to causing a probe to trace a surface of aworkpiece to detect contact between a tip provided on the tip of theprobe and the surface of the workpiece and measuring surface texture ofthe workpiece, the program causing a computer to perform the followingsteps of: dividing a path along which the tip is moved into a pluralityof sections between the starting point and the ending point of the path;calculating a moving velocity of the tip in sequence from the startingpoint to the ending point for each of the plurality of sections, basedon the path information for each of the plurality of sections; andmoving the tip in a section for which a moving velocity has beencalculated at the step of calculating a moving velocity.
 14. The programfor measuring surface texture according to claim 13, wherein a part orwhole of the path is configured with free-form curves.
 15. The programfor measuring surface texture according to claim 13, wherein at the stepof calculating a moving velocity, a determination is made as to whether,before the tip completes its movement in a first section of the sectionswhere the tip is being moved, calculation of a moving velocity shall befinished for a second section subsequent to the first section, andwherein, when it is determined that the calculation shall be finished intime, then a moving velocity at the starting point of the second sectionis calculated to be equal to a moving velocity at the ending point ofthe first section, whereas when it is determined that the calculationshall not be finished in time, then a moving velocity at the endingpoint of the first section is modified to 0 and a moving velocity at thestarting point of the second section is calculated as
 0. 16. The programfor measuring surface texture according to claim 13, wherein at the stepof calculating a moving velocity, all information on groups of sections,with the plurality of sections as a unit, is captured to calculate amoving velocity.
 17. The program for measuring surface texture accordingto claim 16, wherein at the step of calculating a moving velocity, adetermination is made as to whether, before the tip moves to the lastsection included in a first group of sections where the tip is beingmoved, the first group of sections being among the groups of sections,calculation of a moving velocity shall be finished for a second group ofsections subsequent to the first group of sections, and wherein, when itis determined that the calculation shall be finished in time, then amoving velocity at the starting point of the initial section in thesecond group of sections is calculated to be equal to a moving velocityat the ending point of the last section of the first group of sections,whereas when it is determined that the calculation shall not be finishedin time, then a moving velocity of the last section of the first groupof sections is modified so that a moving velocity at the ending point ofthe first group of sections becomes 0 and a moving velocity at thestarting point of the second group of sections is calculated as
 0. 18.The program for measuring surface texture according to claim 13, whereinat the step of calculating a moving velocity, a moving velocity iscalculated based on a curvature of the path information.